Digital video recorder using circular file management and method of operation

ABSTRACT

There is disclosed a digital video recorder that uses a circular file management system to efficiently manage time-shifted viewing a live video broadcast television program. There is provided for use in the digital video recorder, an apparatus for performing time-shifted viewing of an incoming television program being received by the digital video recorder. The apparatus comprises a controller capable of creating a data file having a defined maximum size on a storage disk of the digital video recorder and capable of causing video data associated with the incoming television program to be stored sequentially in the data file from a first location to an Nth location. The controller, in response to a determination that the video data has been stored in the Nth location, causes a next received video data to be stored in the first location.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present invention is related to those disclosed in the followingU.S. patent applications:

-   1. Ser. No. 09/943,837, filed concurrently herewith, entitled    “SYSTEM FOR MULTIPLEXING VIDEO DATA STREAMS IN A DIGITAL VIDEO    RECORDER AND METHOD OF OPERATING THE SAME;”-   2. Ser. No. 09/943,815, filed concurrently herewith, entitled    “APPARATUS AND METHOD FOR INDEXING MPEG VIDEO DATA TO PERFORM    SPECIAL MODE PLAYBACK IN A DIGITAL VIDEO RECORDER”;-   3. Ser. No. 09/944,729, filed concurrently herewith, entitled    “SYSTEM FOR DETECTING START CODES IN MPEG VIDEO STREAMS AND METHOD    OF OPERATING THE SAME;”-   4. Ser. No. 09/943,793, filed concurrently herewith, entitled    “APPARATUS AND METHOD FOR SYNCHRONIZING VIDEO AND AUDIO MPEG STREAMS    IN A VIDEO PLAYBACK DEVICE.”

The above applications are commonly assigned to the assignee of thepresent invention. The disclosures of these related patent applicationsare hereby incorporated by reference for all purposes as if fully setforth herein.

Technical Field of the Invention

The present invention is generally directed to digital video recorderdevices and, more specifically, to a digital video recorder (DVR) thatuses circular files to store digital video programs.

BACKGROUND OF THE INVENTION

Digital video recorder (DVR) systems are becoming increasingly popularwith consumers. Digital video recorder systems use magnetic hard diskdrives rather than magnetic cassette tapes to store video programs. Forexample, the ReplayTV™ recorder and the TiVO™ recorder record televisionprograms in digital formats on hard disk drives using, for example,MPEG-2 compression. Also, some DVR systems may record on areadable/writable digital versatile disk (DVD) rather than a magneticdisk.

One advantage that a digital video recorder system has over aconventional video cassette recorder is time-shifted viewing. Timeshifting occurs when a user watches a live broadcast with a delay. Thismay occur, for example, when the user presses the Pause button on theDVR system to answer a phone call and a few moments later resumesviewing the live broadcast. During the pause period, the DVR systemcontinues to record the live broadcast television (TV) program on thehard disk drive, but the screen is frozen at the part of the TV programwhere the Pause button was pressed. When the user presses the Pausebutton again (or, alternatively, presses the Play button), the DVRsystem plays back the recorded TV program from the disk drive from thepoint at which the TV program was paused.

In this manner, the user views the live broadcast program with somedelay period. The user may catch up to the live broadcast by pressingFast Forward (which plays stored video back at faster than normal speed)or by pressing Skip (which skips sections of stored video). However, ifthe user continues to watch the delayed TV program at normal speed anddoes not catch up to the live broadcast, the live TV program continuesto be recorded to the disk drive and then played back.

However, when a file system is used to control the disk drive, eachrecorded television program is saved as a data file on the disk drive.Unfortunately, conventional file management techniques are inefficientwhen it comes to time-shifted viewing. This is because the filemanagement system must simultaneously write (store) the live broadcastto the data file and read (retrieve) the delayed television program fromthe data file.

There is therefore a need in the art for an improved digital videorecorder (DVR) system capable of time-shifted viewing. In particular,there is a need for a digital video recorder (DVR) system having a filemanagement system that can efficiently implement time-shifted viewing.

SUMMARY OF THE INVENTION

To address the above-discussed deficiencies of the prior art, it is aprimary object of the present invention to provide a digital videorecorder that uses a circular file management system to efficientlymanage time-shifted viewing of a live video broadcast televisionprogram. There is provided, for use in a digital video recorder, anapparatus for performing time-shifted viewing of an incoming televisionprogram being received by the digital video recorder. According to anadvantageous embodiment of the present invention, the apparatuscomprises a controller capable of creating a data file having a definedmaximum size on a storage disk of the digital video recorder and capableof causing video data associated with the incoming television program tobe stored sequentially in the data file from a first location to an Nthlocation. The controller, in response to a determination that the videodata has been stored in the Nth location, causes a next received videodata to be stored in the first location.

According to one embodiment of the present invention, the controlleruses a write pointer to cause the video data to be stored sequentiallyin the data file from the first location to the Nth location.

According to another embodiment of the present invention, the controllerupdates the write pointer each time the video data is stored to alocation in the data file to thereby cause the video data to be storedsequentially in the data file from the first location to the Nthlocation.

According to still another embodiment of the present invention, thecontroller determines that the video data has been stored in the Nthlocation when the write pointer is equal to a value associated with thedefined maximum size.

According to yet another embodiment of the present invention, thecontroller causes the next received video data to be stored in the firstlocation by resetting the write pointer to a value associated with thefirst memory location.

According to a further embodiment of the present invention, thecontroller is further capable of causing stored video data to beretrieved sequentially from the data file from the first location to theNth location.

According to a still further embodiment of the present invention, thecontroller, in response to a determination that the stored video datahas been retrieved from the Nth location, causes a next stored videodata to be retrieved from the first location.

According to a yet further embodiment of the present invention, thecontroller uses a read pointer to cause the stored video data to beretrieved sequentially from the data file from the first location to theNth location.

In another embodiment of the present invention, the controller updatesthe read pointer each time the stored video data is retrieved from alocation in the data file to thereby cause the stored video data to beretrieved sequentially from the data file from the first location to theNth location.

The foregoing has outlined rather broadly the features and technicaladvantages of the present invention so that those skilled in the art maybetter understand the detailed description of the invention thatfollows. Additional features and advantages of the invention will bedescribed hereinafter that form the subject of the claims of theinvention. Those skilled in the art should appreciate that they mayreadily use the conception and the specific embodiment disclosed as abasis for modifying or designing other structures for carrying out thesame purposes of the present invention. Those skilled in the art shouldalso realize that such equivalent constructions do not depart from thespirit and scope of the invention in its broadest form.

Before undertaking the DETAILED DESCRIPTION OF THE INVENTION below, itmay be advantageous to set forth definitions of certain words andphrases used throughout this patent document: the terms “include” and“comprise”, as well as derivatives thereof, mean “inclusion withoutlimitation”; the term “or”, is inclusive, meaning “and/or”; the phrases“associated with” and “associated therewith”, as well as derivativesthereof, may mean “include”, “be included within”, “interconnect with”,“contain”, “be contained within”, “connect to or with”, “couple to orwith”, “be communicable with”, “cooperate with”, “interleave”,“juxtapose”, “be proximate to”, “be bound to or with”, “have”, “have aproperty of”, or the like; and the term “controller” includes anydevice, system or part thereof that controls at least one operation,such a device may be implemented in hardware, firmware or software, orsome combination of at least two of the same. In particular, acontroller may comprise a data processor and an associated memory thatstores instructions that may be executed by the data processor. Itshould be noted that the functionality associated with any particularcontroller may be centralized or distributed, whether locally orremotely. Definitions for certain words and phrases are providedthroughout this patent document, those of ordinary skill in the artshould understand that in many, if not most instances, such definitionsapply to prior, as well as future uses of such defined words andphrases.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention, and theadvantages thereof, reference is now made to the following descriptionstaken in conjunction with the accompanying drawings, wherein likenumbers designate like objects, and in which:

FIG. 1 illustrates an exemplary digital video recorder (DVR) system anda connected television set according to one embodiment of the presentinvention;

FIG. 2 illustrates the exemplary digital video recorder (DVR) system ingreater detail according to one embodiment of the present invention; and

FIG. 3 illustrates selected portions of the exemplary video recordercontroller and the exemplary hard disk drive in greater detail accordingto one embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

FIGS. 1 through 3, discussed below, and the various embodiments used todescribe the principles of the present invention in this patent documentare by way of illustration only and should not be construed in any wayso as to limit the scope of the invention. Those skilled in the art willunderstand that the principles of the present invention may beimplemented in any suitably arranged video recorder system.

FIG. 1 illustrates exemplary digital video recorder (DVR) system 150 andtelevision set 105 according to one embodiment of the present invention.Digital video recorder system 150 receives incoming television signalsfrom an external source, such as a set-top box of a cable televisionservice provider (Cable Co.) or the phone company, a local antenna, theInternet, a satellite television service provider, or an attached DVD orVHS tape player, and transmits a viewer-selected channel to televisionset 105. In RECORD mode, digital video recorder system 150 maydemodulate an incoming radio frequency (RF) television signal to producea baseband video signal that is recorded and stored on a storage mediumwithin or connected to video playback device 150. In PLAY mode, digitalvideo recorder system 150 retrieves a stored baseband video signal(i.e., program) selected by the user from the storage medium andtransmits the retrieved program to television set 105.

According to an exemplary embodiment of the present invention, digitalvideo recorder (DVR) system 150 is a disk drive-based device, such as aReplayTV™ recorder or a TiVO™ recorder, DVR system 150 stores andretrieves the incoming television signals to and from a computermagnetic hard disk rather than a magnetic cassette tape. In still otherembodiments, video playback device 150 may store and retrieve from alocal read/write (R/W) digital versatile disk (DVD) or R/W CD-ROM. Thus,the local storage medium may be fixed (e.g., hard disk drive) orremovable (e.g., DVD, CD-ROM).

Digital video recorder system 150 comprises infrared (IR) sensor 160that receives commands (such as Channel Up, Channel Down, Volume Up,Volume Down, Record, Play, Fast Forward (FF) Reverse, and the like) froma remote control device operated by the viewer. Television set 105 is aconventional television comprising screen 110, infrared (IR) sensor 115,and one or more manual controls 120 (indicated by a dotted line). IRsensor 115 also receives commands (such as volume up, volume down, powerON/OFF) from a remote control device operated by the viewer.

It should be noted that DVR system 150 is not limited to receiving aparticular type of incoming television signal from a particular type ofsource. As noted above, the external source may be a cable serviceprovider, a conventional RF broadcast antenna, a satellite dish, anInternet connection, or another local storage device, such as a DVDplayer. Thus, the incoming signal may be a conventional digital signal,such as MPEG-2, an conventional NTSC analog signal, or digital Internetprotocol (IP) packets of any other communication protocol. However, forthe purposes of simplicity and clarity in explaining the principles ofthe present invention, the descriptions that follow shall generally bedirected to an embodiment in which DVR system 150 receives incomingtelevision signals (analog and/or digital) from a cable serviceprovider. Nonetheless, those skilled in the art will understand that theprinciples of the present invention may readily be adapted for use withwireless broadcast television signals, local storage systems, anincoming stream of IP packets containing MPEG data, and the like.

FIG. 2 illustrates exemplary digital video recorder (DVR) system 150 ingreater detail according to one embodiment of the present invention. DVRsystem 150 comprises IR sensor 160, video processor 210, optional MPEG-2encoder 220, hard disk drive 230, MPEG-2 decoder/NTSC encoder 240. DVRsystem 150 further comprises video buffer 260 and video recorder (VR)controller 250.

VR controller 250 directs the overall operation of DVR system 150,including View mode, Record mode, Play mode, Fast Forward (FF) mode,Reverse mode, Pause mode, and Skip mode, among others. In View mode, VRcontroller 250 causes the incoming television signal from the cableservice provider to be demodulated and processed by video processor 210and transmitted to television set 105, without storing or retrievingfrom hard disk drive 230.

The internal circuitry of DVR system 150 varies depending on whether theexternal broadcast signal received by DVR system 150 is digital, such asMPEG-2, or analog, such as NTSC. For example, if the external broadcastsignal received from the cable service provider is an analog signal,video processor 210 may be, for example, a TriMedia(™) 1100 mediaprocessor, which contains radio frequency (RF) front-end circuitry forreceiving incoming analog television signals, tuning to a user-selectedchannel, and converting the selected RF signal to a baseband televisionsignal (e.g., super video signal) suitable for display on television set105. Video processor 210 also is capable of receiving a conventionalNTSC, PAL or SECAM signal from MPEG2 decoder/NTSC encoder 240 (afterbuffering in video buffer 260) during Play mode and transmittingbaseband television signal (e.g., super video signal) to television set105. Alternatively, if the external broadcast signal is a digitalsignal, such as an MPEG-2 signal, video processor 210 may be aconventional digital TV decoder, such as an MPEG-2 decoder, thatconverts the digital input signal to a baseband television signal fordisplay on television set 105.

In Record mode, VR controller 250 causes the incoming television signalto be stored on hard disk drive 230. MPEG-2 encoder 220 is optionalprovided if the external broadcast signal is an analog signal. Forexample, under the control of VR controller 250, MPEG-2 encoder 220 mayreceive an incoming NTSC-type analog television signal and convert thereceived broadcast signal to MPEG-2 format for storage on hard diskdrive 230. Alternatively, if the external broadcast signal is already adigital signal, such as MPEG-2, then the broadcast signal may be storeddirectly to hard disk drive 230 and MPEG-2 may be omitted. In Play mode,VR controller 250 directs hard disk drive 230 to stream the storedtelevision signal (i.e., program) to MPEG-2 decoder/NTSC encoder 240,which converts the MPEG-2 data from hard disk drive 230 to, for example,a super video (S-Video) signal that is buffered in video buffer 260before video processor 210 transmits it to television set 105.

It should be noted that the choice of the MPEG-2 standard for MPEG-2encoder 220 and MPEG-2 decoder/NTSC encoder 240 is by way ofillustration only. In alternate embodiments of the present invention,the MPEG encoder and decoder may comply with one or more of the MPEG-1,MPEG-2, MPEG-4, and MPEG-7 standards. In still other alternateembodiments, the digital television encoding and decoding circuitry maycomply with some other digital television standard.

For the purposes of this application and the claims that follow, harddisk drive 230 is defined to include any mass storage device that isboth readable and writable, including conventional magnetic disk drives,and optical disk drives for read/write digital versatile disks (DVD-RW),re-writable CD-ROMs, and the like. In fact, hard disk drive 230 need notbe fixed in the conventional sense that is permanently embedded in DVRsystem 150.

Rather, hard disk drive 230 includes any mass storage device that isdedicated to DVR system 150 for the purpose of storing recordedtelevision programs. Thus, hard disk drive 230 may include an attachedperipheral drive or removable disk drives (whether embedded orattached), such as a juke box device that holds read/write DVDs orre-writable CD-ROMs. Furthermore, in an advantageous embodiment of thepresent invention, hard disk drive 230 may include external mass storagedevices that DVR system 150 may access and control via a networkconnection (e.g., Internet protocol (IP) connection), including, forexample, a disk drive in a home personal computer (PC) or a disk driveon a server at an Internet service provider (ISP).

FIG. 3 illustrates selected portions of exemplary video recorder (VR)controller 250 and exemplary hard disk drive 230 in greater detailaccording to one embodiment of the present invention. VR controller 250maintains read pointer value 305, which is used to retrieve program datafrom television program dat file 350 stored in hard disk drive 230.Television program data file 350, which may be one of several programstored on hard disk drive 230, is arbitrarily labeled PROGRAM 1. VRcontroller 250 also maintains write pointer value 310, which is used tostore program data into television program data file 350 in hard diskdrive 230.

Television program data file 350 also contains maximum (MAX) size datafield 355, which contains a value defining the size (in kilobytes,megabytes, gigabytes) of television program data file 350. For thepurposes of illustration only, video data is shown in television programdata file 350 as being stored in, and retrieved from, up to accessible Nlocations in television program data file 350. These N locations aresequentially labeled Block 1 through Block N. In the illustratedexample, write pointer value 310 contains the value K, which causesincoming digital broadcast data to be written to Block K in televisionprogram data file 350. Also, in the illustrated example, read pointervalue 305 contains the value J, which causes outgoing stored programdata (i.e., the time-shifted television program) to be retrieved fromBlock J in television program data file 350.

VR controller 250, which controls the operation of the file systemmanagement of hard disk drive 230, creates a new file (i.e., televisionprogram data file 350) in which the incoming broadcast TV program may bestored. This new file may be created whenever a new channel is tuned or,alternatively, whenever the user presses the Pause button during abroadcast. VR controller 250 may determine a maximum size data value tobe stored in maximum size data field 355 according to a system defaultvalue or according to a user specified value. The maximum size datavalue determines the number of minutes of TV programs that can be storedafter the user presses the Pause button for subsequent time-shiftedviewing.

After television program data file 350 is created on hard disk drive230, VR controller 250 causes the incoming live broadcast data to bestored in (i.e., written to) the location in television program datafile 350 indicated by write pointer value 310. This may be accomplishedby directing MPEG-2 encoder 220 to store the MPEG-2 data from the livebroadcast television program into the location in television programdata file 350 indicated by write pointer value 310. Thereafter, MPEG-2encoder 220 may maintain and update the value of write pointer value 310for subsequent write operations. Alternatively, VR controller 250 maydirect hard disk drive 230 to store MPEG-2 data received from MPEG-2encoder 220 or other digital data received from the service providerinto the location in television program data file 350 indicated by writepointer value 310. Thereafter, hard disk drive 230 may maintain andupdate the value of write pointer value 310 for subsequent writeoperations.

The user views the time-shifted broadcast program by pressing the Pausebutton a second time or pressing the Play button. In either event, afterthe Pause button or the Play button is pressed, VR controller 250 causesthe stored time-shifted broadcast data to be read (i.e., retrieved) fromthe location in television program data file 350 indicated by readpointer value 305. This may be accomplished by directing MPEG-2decoder/NTSC encoder 240 to read the MPEG-2 data from the location intelevision program data file 350 indicated by read pointer value 305.Thereafter, MPEG-2 decoder/NTSC encoder 240 may maintain and update thevalue of read pointer value 305 for subsequent read operations.Alternatively, VR controller 250 may direct hard disk drive 230 totransfer to MPEG-2 decoder/NTSC encoder 240 the MPEG-2 data stored inthe location in television program data file 350 indicated by readpointer value 305. Thereafter, hard disk drive 230 may maintain andupdate the value of read pointer value 310 for subsequent readoperations.

According to the principles of the present invention, television programdata file 350 is configured as a circular file that behaves as acircular buffer. The circular file characteristics are:

Open Function:

When a circular file is opened, maximum size data field 355 of the file(i.e., the maximum size of the circular buffer) must be specified. Whentelevision program data file 350 is initially opened, its actual size isautomatically zero bytes, because the data that previously may have beenin that file is now irrelevant.

Write Function:

-   1) The wraparound of television program data file 350 is managed by    VR controller 250. When write pointer value 310 is equal to the    value in maximum size data field 355, write pointer value 310 goes    back to the beginning television program data file 350.-   2) If write pointer value 310 reaches read pointer value 310 minus a    Margin value, the write operation returns an error.-   3) If write pointer value 310 reaches read pointer value 310, read    pointer value 310 is automatically updated with write pointer value    310 plus a Margin value (priority of write over read).    Read Function:-   1) End-of-file (EOF) is detected when read pointer value 310-write    pointer value 310.-   2) The wraparound of television program data file 350 is managed by    VR controller 250. When read pointer value 310 is equal to the value    in maximum size data field 355, then read pointer value 310 goes    back to the beginning of television program data file 350.    Seek Function:-   1) If the maximum size of the file has been written once, then read    pointer value 310 can be set anywhere (i.e., by pressing Play or    Skip buttons), provided that it is less than maximum size data field    355.-   2) Otherwise, read pointer value 310 cannot be set greater than    write pointer value 310.

Although the present invention has been described in detail, thoseskilled in the art should understand that they can make various changes,substitutions and alterations herein without departing from the spiritand scope of the invention in its broadest form.

1. For use in a digital video recorder, an apparatus for performingtime-shifted viewing of an incoming television program being received bysaid digital video recorder, the apparatus comprising: a controllercapable of, in response to receipt of a pause command, creating a datafile having a defined maximum size on a storage disk of said digitalvideo recorder and capable of causing video data associated with saidincoming television program to be stored sequentially in said data filefrom a first location to an Nth location, wherein said controller, inresponse to a determination that said video data has been stored in saidNth location, is capable of causing a next received video data to bestored in said first location.
 2. The apparatus as set forth in claim 1wherein said controller uses a write pointer to cause said video data tobe stored sequentially in said data file from said first location tosaid Nth location.
 3. The apparatus as set forth in claim 2 wherein saidcontroller updates said write pointer each time said video data isstored to a location in said data file to thereby cause said video datato be stored sequentially in said data file from said first location tosaid Nth location.
 4. The apparatus as set forth in claim 3 wherein saidcontroller determines that said video data has been stored in said Nthlocation when said write pointer is equal to a value associated withsaid defined maximum size.
 5. The apparatus as set forth in claim 4wherein said controller causes said next received video data to bestored in said first location by resetting said write pointer to a valueassociated with said first memory location.
 6. The apparatus as setforth in claim 1 wherein said controller is further capable of causingstored video data to be retrieved sequentially from said data file fromsaid first location to said Nth location.
 7. The apparatus as set forthin claim 6 wherein said controller, in response to a determination thatsaid stored video data has been retrieved from said Nth location, causesa next stored video data to be retrieved from said first location. 8.The apparatus as set forth in claim 7 wherein said controller uses aread pointer to cause said stored video data to be retrievedsequentially from said data file from said first location to said Nthlocation.
 9. The apparatus as set forth in claim 8 wherein saidcontroller updates said read pointer each time said stored video data isretrieved from a location in said data file to thereby cause said storedvideo data to be retrieved sequentially from said data file from saidfirst location to said Nth location.
 10. A digital video recordercapable of time-shifted viewing of an incoming television program beingreceived by said digital video recorder, said digital video recordercomprising: a video processor capable of receiving said incomingtelevision program and converting said incoming television program to abaseband video signal capable of being displayed on a television setcoupled to said digital video recorder; a storage disk for storing saidincoming television program; and a controller capable of, in response toreceipt of a pause command, creating on said storage disk a data filehaving a defined maximum size and capable of causing video dataassociated with said incoming television program to be storedsequentially in said data file from a first location to an Nth location,wherein said controller, in response to a determination that said videodata has been stored in said Nth location, is capable of causing a nextreceived video data to be stored in said first location.
 11. The digitalvideo recorder as set forth in claim 10 wherein said controller uses awrite pointer to cause said video data to be stored sequentially in saiddata file from said first location to said Nth location.
 12. The digitalvideo recorder as set forth in claim 11 wherein said controller updatessaid write pointer each time said video data is stored to a location insaid data file to thereby cause said video data to be storedsequentially in said data file from said first location to said Nthlocation.
 13. The digital video recorder as set forth in claim 12wherein said controller determines that said video data has been storedin said Nth location when said write pointer is equal to a valueassociated with said defined maximum size.
 14. The digital videorecorder as set forth in claim 13 wherein said controller causes saidnext received video data to be stored in said first location byresetting said write pointer to a value associated with said firstmemory location.
 15. The digital video recorder as set forth in claim 10wherein said controller is further capable of causing stored video datato be retrieved sequentially from said data file from said firstlocation to said Nth location.
 16. The digital video recorder as setforth in claim 15 wherein said controller, in response to adetermination that said stored video data has been retrieved from saidNth location, causes a next stored video data to be retrieved from saidfirst location.
 17. The digital video recorder as set forth in claim 16wherein said controller uses a read pointer to cause said stored videodata to be retrieved sequentially from said data file from said firstlocation to said Nth location.
 18. The digital video recorder as setforth in claim 17 wherein said controller updates said read pointer eachtime said stored video data is retrieved from a location in said datafile to thereby cause said stored video data to be retrievedsequentially from said data file from said first location to said Nthlocation.
 19. For use in a digital video recorder, a method forperforming time-shifted viewing of an incoming television program beingreceived by the digital video recorder, the method comprising the stepsof: in response to receipt of a pause command, creating a data filehaving a defined maximum size on a storage disk of the digital videorecorder; storing video data from the incoming television program in thedata file sequentially from a first location to an Nth location;determining whether video data has been stored in the Nth location; andin response to a determination that video data has been stored in theNth location, storing a next received video data in the first location.20. The method as set forth in claim 19 further comprising the step ofretrieving stored video data sequentially from the data file from thefirst location to the Nth location.
 21. The method as set forth in claim20 further comprising the steps of: determining whether stored videodata has been retrieved from the Nth location; and in response to adetermination that video data has been retrieved from the Nth locationretrieving a next stored video data from the first location.
 22. Theapparatus of claim 1, wherein the storage disk comprises a persistentstorage disk.
 23. The apparatus of claim 1, wherein the controller iscapable of storing the defined maximum size in a data field associatedwith the data file.